/**
 * 
 */
package spring.webapp.anmeldesystem.persistence.mapper;

import java.util.List;

import spring.webapp.anmeldesystem.entity.Professor;

/**
 * @author Songhua Cui
 *
 */
public interface ProfessorMapper {
	
	/**
	 * @param email
	 * @return {@link Professor}
	 */
	Professor selectProfessorByEmail(String email);
	
	/**
	 * @param email
	 * @return 
	 */
	Professor selectProfessorMitKurseInfoByEmail(String email);
	
	/**
	 * @param id
	 * @return {@link Professor}
	 */
	Professor selectProfessorById(long id);
	
	/**
	 * All {@link Professor}s.
	 * @return list of {@link Professor}.
	 */
	List<Professor> selectProfessors();
	
	/**
	 * 
	 * @return max. id of professor.
	 */
	Long selectMaxIDFromProfessor();
	
	/**
	 * 
	 * @param professor
	 */
	void insertProfessor(Professor professor);

	void deleteProfessor(long id);

	void updateProfessor(Professor professor);
}
